// pages/user/bpl-reminder/bpl-reminder.ts
import { getBPLReminder, setBPLReminder } from '../../../utils/api/BPLControl'
import Notify from '@vant/weapp/notify/notify'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 勿扰时段设置
    reminderSettings: {
      enabled: true,
      startTime: '00:00',
      endTime: '00:00'
    },
    showTimePicker: false,
    currentDate: '12:00',
    minHour: 10,
    maxHour: 20,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    this.loadReminderSettings()
  },

  /**
   * 加载勿扰时段设置
   */
  loadReminderSettings() {
    getBPLReminder().then((res: any) => {
      if (res.code === 1) {
        this.setData({
          reminderSettings: {
            enabled: res.data.enabled || false,
            startTime: res.data.startTime || '00:00',
            endTime: res.data.endTime || '00:00'
          }
        })
      }
    }).catch((err: any) => {
      console.log('获取勿扰时段设置失败', err)
    })
  },

  onConfirm() {
    this.setData({
      showTimePicker: false
    })
  },
  onCancel() {
    this.setData({
      showTimePicker: false
    })
  },

  /**
   * 切换勿扰时段开关
   */
  toggleReminderSwitch() {
    const currentEnabled = this.data.reminderSettings.enabled
    this.setData({
      'reminderSettings.enabled': !currentEnabled
    })
  },

  /**
   * 设置开始时间
   */
  setStartTime() {
    // wx.navigateTo({
    //   url: '/pages/user/bpl-reminder/start-time-picker/start-time-picker'
    // })
    this.setData({
      showTimePicker: true
    })
  },

  /**
   * 设置结束时间
   */
  setEndTime() {
    // wx.navigateTo({
    //   url: '/pages/user/bpl-reminder/end-time-picker/end-time-picker'
    // })
    this.setData({
      showTimePicker: true
    })
  },

  /**
   * 保存设置
   */
  saveSettings() {
    const settings = this.data.reminderSettings
    const data = {
      enabled: settings.enabled,
      startTime: settings.startTime,
      endTime: settings.endTime
    }

    setBPLReminder(data).then((res: any) => {
      if (res.code === 1) {
        Notify({ type: 'success', message: '设置保存成功' })
      } else {
        Notify({ type: 'danger', message: '设置保存失败' })
      }
    }).catch((err: any) => {
      console.log('保存设置失败', err)
      Notify({ type: 'danger', message: '设置保存失败' })
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {
  }
})